package com.project.mapper;

import com.project.bean.DeptBean;
import com.project.bean.EmployeeBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface IDeptMapper {
    /**
     * 添加部门
     * @param dept 部门对象
     */
    public void add(DeptBean dept);

    /**
     * 批量添加员工集合
     * @param deptId 部门编号
     * @param emList 员工集合
     */
    public void addEmployeeList(@Param("deptId") Integer deptId,
                                @Param("emList") List<EmployeeBean> emList);

    /**
     * 删除部门，同时级联删除该部门的员工
     * @param deptId 部门编号
     */
    public void delCaseCade(Integer deptId);

    /**
     * 删除部门，同时将该部门员工外键设置为null
     * @param deptId 部门编号
     */
    public void delSetNull(Integer deptId);

    /**
     * 查询所有部门，同时查询该部门的员工人数
     * @return 部门集合
     */
    public List<DeptBean> findAll();

    /**
     * 按编号查询部门，同时查询该部门的员工集合
     * @param id 部门编号
     * @return 部门对象
     */
    public DeptBean findById(Integer id);
}
